package cn.sc.summer.constant.mybatisplus.datasource;

import java.util.HashMap;
import java.util.Map;

/**
 * 类名：动态数据源常量
 *
 * @author a-xin
 * @date 2024/5/29 17:02
 */
public interface DataSourceConstant {

    /**
     * 读写分离初始化bean
     */
    String READ_WRITE_BEAN = "READ_WRITE_BEAN";

    /**
     * 读数据库
     */
    String READ_DATABASE = "READ_DATABASE";

    /**
     * 写数据库
     */
    String WRITE_DATABASE = "WRITE_DATABASE";

    /**
     * 读数据库redis存储次数
     */
    String READ_PREFIX = "READ_WRITE:READ";

    /**
     * 写数据库redis存储次数
     */
    String WRITE_PREFIX = "READ_WRITE:WRITE";

    /**
     * 主数据源信息
     */
    String MASTER_DATA_SOURCE = "MASTER_DATA_SOURCE";

    /**
     * 动态数据源bean名称
     */
    String DYNAMIC_DATA_SOURCE = "DYNAMIC_DATA_SOURCE";

    /**
     * 项目支持的所有数据源类型bean
     */
    String ALL_DATA_SOURCE_TYPE = "ALL_DATA_SOURCE_TYPE";

    /**
     * 多数据源创建bean
     */
    String CREATE_DYNAMIC_DATASOURCE = "CREATE_DYNAMIC_DATASOURCE";

    /**
     * druid基于XA的数据源信息驱动
     */
    String DATA_SOURCE_DRUID_XA = "com.alibaba.druid.pool.xa.DruidXADataSource";

    /**
     * 全局数据源存储
     */
    Map<Object, Object> DATA_SOURCE_MAP = new HashMap<>();

}
